/**********************************************************************
 *
 * sstQtDxf01Lib - sst Qt Dxf library
 * Hosted on github
 *
 * Copyright (C) 2016 Uli Rehr
 *
 * This file may be distributed and/or modified under the terms of the
 * GNU General Public License version 2 as published by the Free Software
 * Foundation and appearing in the file gpl-2.0.txt included in the
 * packaging of this file.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 *
 * This copyright notice MUST APPEAR in all copies of the script!
 *
**********************************************************************/
//  sstQtDxf01QtTab.h   25.05.18  Re.   21.03.18  Re.
//
//  Definitions of class "sstQtDxf01QtTab"
//
//
//  Class Code generated by github/UliRehr15/sstCpp01Lib/sst_generate_qttab_lib

  
#ifndef   _SST_sstQtDxf01_TabMdl_HEADER
#define   _SST_sstQtDxf01_TabMdl_HEADER
  
 
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>
 
#include <string>
 
#include <sstStr01Lib.h>
#include <sstMath01Lib.h>
#include <sstMisc01Lib.h>
#include <sstRec04Lib.h>
 
#include <list>
#include <dl_dxf.h>
#include <dl_creationadapter.h>
#include <rs_vector.h>
#include <QtWidgets>
#include <sstQt01Lib.h>
// #include <sstDxf03TypLib.h>
#include <sstDxf03Lib.h>
 
/**
 * @defgroup sstDxf03Lib sstDxf03Lib
 *
 * Description: sstDxf03Lib
 *
 */
 
//==============================================================================
/**
* @brief Base
*
* More Comment
*
* Used Type Definitions
* sstRec04Cls *poRecTab;;0;0;;;sst Record Table
*
* Changed:   Re.
*
* @ingroup sstQtDxf01Lib
*
* @author Re.
*
* @date 
*/
// ----------------------------------------------------------------------------
class sstQtDxf01TabMdlBaseCls
{
  public:
    //==============================================================================
    /**
    * @brief // sstQtDxf01TabMdlBaseCls <BR>
    */
    // -----------------------------------------------------------------------------
    sstQtDxf01TabMdlBaseCls();// Constructor
     sstRec04Cls *poRecTab;  /**< sst Record Table */
  private:
};
 
//==============================================================================
/**
* @brief 
*
* More Comment
*
* Used Type Definitions
* sstDxf03DbCls *poDatabase;;0;0;;;Database with all tables
* sstMisc01PrtFilCls *poPrt;;0;0;;;Protocol object
*
* Changed:   Re.
*
* @ingroup sstQtDxf01Lib
*
* @author Re.
*
* @date 
*/
// ----------------------------------------------------------------------------
class sstQtDxf01TabMdlCircleCls : public sstQt01TabMdlCls
{
  Q_OBJECT
  public:
    //==============================================================================
    /**
    * @brief // sstQtDxf01TabMdlCircleCls <BR>
    * @param *parent
    * @param *poTmpPrt
    * @param *poTmpDatabase
    */
    // -----------------------------------------------------------------------------
    sstQtDxf01TabMdlCircleCls(QObject *parent, sstMisc01PrtFilCls *poTmpPrt, sstDxf03DbCls *poTmpDatabase);// // Constructor
    //==============================================================================
    /**
    * @brief // ~sstQtDxf01TabMdlCircleCls <BR>
    */
    // -----------------------------------------------------------------------------
    ~sstQtDxf01TabMdlCircleCls();// // Constructor
    //==============================================================================
    /**
    * @brief // rowCount <BR>
    * @param value
    */
    // -----------------------------------------------------------------------------
    int rowCount(const QModelIndex &value) const;// Count actual number of records
    //==============================================================================
    /**
    * @brief // columnCount <BR>
    * @param value
    */
    // -----------------------------------------------------------------------------
    int columnCount(const QModelIndex &value) const;// return number of table columns
    //==============================================================================
    /**
    * @brief // data <BR>
    * @param index
    * @param role
    */
    // -----------------------------------------------------------------------------
    QVariant data(const QModelIndex &index, int role) const;// return number of table columns
    //==============================================================================
    /**
    * @brief // headerData <BR>
    * @param section
    * @param orientation
    * @param role
    */
    // -----------------------------------------------------------------------------
    QVariant headerData(int section, Qt::Orientation orientation, int role) const;// return number of table columns
    //==============================================================================
    /**
    * @brief // setData <BR>
    * @param index
    * @param value
    * @param role
    */
    // -----------------------------------------------------------------------------
    bool setData(const QModelIndex & index, const QVariant & value, int role);// return number of table columns
    //==============================================================================
    /**
    * @brief // flags <BR>
    * @param index
    */
    // -----------------------------------------------------------------------------
    Qt::ItemFlags flags(const QModelIndex &index) const;// return number of table columns
    //==============================================================================
    /**
    * @brief // removeRows <BR>
    * @param position
    * @param rows
    * @param index
    */
    // -----------------------------------------------------------------------------
    bool removeRows(int position, int rows, const QModelIndex &index);// return number of table columns
    //==============================================================================
    /**
    * @brief // insertRows <BR>
    * @param position
    * @param rows
    * @param index
    */
    // -----------------------------------------------------------------------------
    bool insertRows(int position, int rows, const QModelIndex &index);// return number of table columns
public slots:
    //==============================================================================
    /**
    * @brief Slot -Table data changed- direction table to map
    */
    // ----------------------------------------------------------------------------
    void sstSlotChangeTabCircle(sstQt01MapSignalCls oMapSignal);
        //==============================================================================
        /**
        * @brief Slot -Table data changed- direction map to table
        * @param oShapeItem [in] ShapeItem for update
        */
        // ----------------------------------------------------------------------------
        void sstSlotUpdateTabCircle(sstQt01ShapeItem oShapeItem);

signals:
    //==============================================================================
    /**
    * @brief Signal -Table data changed- table to map
    */
    // ----------------------------------------------------------------------------
    void sstSgnlTabCircleChanged(sstQt01MapSignalCls oMapSignal);
    //==============================================================================
    /**
    * @brief Signal -Table data changed- map to table
    */
    // ----------------------------------------------------------------------------
    void sstSgnlTabCircleUpdated(sstQt01ShapeItem oShapeItem);
    //==============================================================================

  private:
     sstDxf03DbCls *poDatabase;
     sstMisc01PrtFilCls *poPrt;
};
 
//==============================================================================
/**
* @brief 
*
* More Comment
*
* Used Type Definitions
* sstDxf03DbCls *poDatabase;;0;0;;;Database with all tables
* sstMisc01PrtFilCls *poPrt;;0;0;;;Protocol object
*
* Changed:   Re.
*
* @ingroup sstQtDxf01Lib
*
* @author Re.
*
* @date 
*/
// ----------------------------------------------------------------------------
class sstQtDxf01TabMdlMTextCls : public sstQt01TabMdlCls
{
  Q_OBJECT
  public:
    //==============================================================================
    /**
    * @brief // sstQtDxf01TabMdlMTextCls <BR>
    * @param *parent
    * @param *poTmpPrt
    * @param *poTmpDatabase
    */
    // -----------------------------------------------------------------------------
    sstQtDxf01TabMdlMTextCls(QObject *parent, sstMisc01PrtFilCls *poTmpPrt, sstDxf03DbCls *poTmpDatabase);// // Constructor
    //==============================================================================
    /**
    * @brief // ~sstQtDxf01TabMdlMTextCls <BR>
    */
    // -----------------------------------------------------------------------------
    ~sstQtDxf01TabMdlMTextCls();// // Constructor
    //==============================================================================
    /**
    * @brief // rowCount <BR>
    * @param value
    */
    // -----------------------------------------------------------------------------
    int rowCount(const QModelIndex &value) const;// Count actual number of records
    //==============================================================================
    /**
    * @brief // columnCount <BR>
    * @param value
    */
    // -----------------------------------------------------------------------------
    int columnCount(const QModelIndex &value) const;// return number of table columns
    //==============================================================================
    /**
    * @brief // data <BR>
    * @param index
    * @param role
    */
    // -----------------------------------------------------------------------------
    QVariant data(const QModelIndex &index, int role) const;// return number of table columns
    //==============================================================================
    /**
    * @brief // headerData <BR>
    * @param section
    * @param orientation
    * @param role
    */
    // -----------------------------------------------------------------------------
    QVariant headerData(int section, Qt::Orientation orientation, int role) const;// return number of table columns
    //==============================================================================
    /**
    * @brief // setData <BR>
    * @param index
    * @param value
    * @param role
    */
    // -----------------------------------------------------------------------------
    bool setData(const QModelIndex & index, const QVariant & value, int role);// return number of table columns
    //==============================================================================
    /**
    * @brief // flags <BR>
    * @param index
    */
    // -----------------------------------------------------------------------------
    Qt::ItemFlags flags(const QModelIndex &index) const;// return number of table columns
    //==============================================================================
    /**
    * @brief // removeRows <BR>
    * @param position
    * @param rows
    * @param index
    */
    // -----------------------------------------------------------------------------
    bool removeRows(int position, int rows, const QModelIndex &index);// return number of table columns
    //==============================================================================
    /**
    * @brief // insertRows <BR>
    * @param position
    * @param rows
    * @param index
    */
    // -----------------------------------------------------------------------------
    bool insertRows(int position, int rows, const QModelIndex &index);// return number of table columns
public slots:
        //==============================================================================
        /**
        * @brief Slot -Table data changed- direction map to table
        * @param oShapeItem [in] ShapeItem for update
        */
        // ----------------------------------------------------------------------------
        void sstSlotUpdateTab(sstQt01ShapeItem oShapeItem);
signals:
    //==============================================================================
    /**
    * @brief Signal -Table data changed- table to map
    */
    // ----------------------------------------------------------------------------
    void sstSgnlTabChanged(sstQt01ShapeItem oShapeItem);
    //==============================================================================
    /**
    * @brief Signal -Table data changed- map to table
    */
    // ----------------------------------------------------------------------------
    void sstSgnlTabUpdated(sstQt01ShapeItem oShapeItem);
    //==============================================================================

  private:
     sstDxf03DbCls *poDatabase;
     sstMisc01PrtFilCls *poPrt;
};
 
//==============================================================================
/**
* @brief 
*
* More Comment
*
* Used Type Definitions
* sstDxf03DbCls *poDatabase;;0;0;;;Database with all tables
* sstMisc01PrtFilCls *poPrt;;0;0;;;Protocol object
*
* Changed:   Re.
*
* @ingroup sstQtDxf01Lib
*
* @author Re.
*
* @date 
*/
// ----------------------------------------------------------------------------
class sstQtDxf01TabMdlTextCls : public sstQt01TabMdlCls
{
  Q_OBJECT
  public:
    //==============================================================================
    /**
    * @brief // sstQtDxf01TabMdlTextCls <BR>
    * @param *parent
    * @param *poTmpPrt
    * @param *poTmpDatabase
    */
    // -----------------------------------------------------------------------------
    sstQtDxf01TabMdlTextCls(QObject *parent, sstMisc01PrtFilCls *poTmpPrt, sstDxf03DbCls *poTmpDatabase);// // Constructor
    //==============================================================================
    /**
    * @brief // ~sstQtDxf01TabMdlTextCls <BR>
    */
    // -----------------------------------------------------------------------------
    ~sstQtDxf01TabMdlTextCls();// // Constructor
    //==============================================================================
    /**
    * @brief // rowCount <BR>
    * @param value
    */
    // -----------------------------------------------------------------------------
    int rowCount(const QModelIndex &value) const;// Count actual number of records
    //==============================================================================
    /**
    * @brief // columnCount <BR>
    * @param value
    */
    // -----------------------------------------------------------------------------
    int columnCount(const QModelIndex &value) const;// return number of table columns
    //==============================================================================
    /**
    * @brief // data <BR>
    * @param index
    * @param role
    */
    // -----------------------------------------------------------------------------
    QVariant data(const QModelIndex &index, int role) const;// return number of table columns
    //==============================================================================
    /**
    * @brief // headerData <BR>
    * @param section
    * @param orientation
    * @param role
    */
    // -----------------------------------------------------------------------------
    QVariant headerData(int section, Qt::Orientation orientation, int role) const;// return number of table columns
    //==============================================================================
    /**
    * @brief // setData <BR>
    * @param index
    * @param value
    * @param role
    */
    // -----------------------------------------------------------------------------
    bool setData(const QModelIndex & index, const QVariant & value, int role);// return number of table columns
    //==============================================================================
    /**
    * @brief // flags <BR>
    * @param index
    */
    // -----------------------------------------------------------------------------
    Qt::ItemFlags flags(const QModelIndex &index) const;// return number of table columns
    //==============================================================================
    /**
    * @brief // removeRows <BR>
    * @param position
    * @param rows
    * @param index
    */
    // -----------------------------------------------------------------------------
    bool removeRows(int position, int rows, const QModelIndex &index);// return number of table columns
    //==============================================================================
    /**
    * @brief // insertRows <BR>
    * @param position
    * @param rows
    * @param index
    */
    // -----------------------------------------------------------------------------
    bool insertRows(int position, int rows, const QModelIndex &index);// return number of table columns
public slots:
        //==============================================================================
        /**
        * @brief Slot -Table data changed- direction map to table
        * @param oShapeItem [in] ShapeItem for update
        */
        // ----------------------------------------------------------------------------
        void sstSlotUpdateTab(sstQt01ShapeItem oShapeItem);
signals:
    //==============================================================================
    /**
    * @brief Signal -Table data changed- table to map
    */
    // ----------------------------------------------------------------------------
    void sstSgnlTabChanged(sstQt01ShapeItem oShapeItem);
    //==============================================================================
    /**
    * @brief Signal -Table data changed- map to table
    */
    // ----------------------------------------------------------------------------
    void sstSgnlTabUpdated(sstQt01ShapeItem oShapeItem);
    //==============================================================================

  private:
     sstDxf03DbCls *poDatabase;
     sstMisc01PrtFilCls *poPrt;
};
 
//==============================================================================
/**
* @brief 
*
* More Comment
*
* Used Type Definitions
* sstDxf03DbCls *poDatabase;;0;0;;;Database with all tables
* sstMisc01PrtFilCls *poPrt;;0;0;;;Protocol object
*
* Changed:   Re.
*
* @ingroup sstQtDxf01Lib
*
* @author Re.
*
* @date 
*/
// ----------------------------------------------------------------------------
class sstQtDxf01TabMdlPointCls : public sstQt01TabMdlCls
{
  Q_OBJECT
  public:
    //==============================================================================
    /**
    * @brief // sstQtDxf01TabMdlPointCls <BR>
    * @param *parent
    * @param *poTmpPrt
    * @param *poTmpDatabase
    */
    // -----------------------------------------------------------------------------
    sstQtDxf01TabMdlPointCls(QObject *parent, sstMisc01PrtFilCls *poTmpPrt, sstDxf03DbCls *poTmpDatabase);// // Constructor
    //==============================================================================
    /**
    * @brief // ~sstQtDxf01TabMdlPointCls <BR>
    */
    // -----------------------------------------------------------------------------
    ~sstQtDxf01TabMdlPointCls();// // Constructor
    //==============================================================================
    /**
    * @brief // rowCount <BR>
    * @param value
    */
    // -----------------------------------------------------------------------------
    int rowCount(const QModelIndex &value) const;// Count actual number of records
    //==============================================================================
    /**
    * @brief // columnCount <BR>
    * @param value
    */
    // -----------------------------------------------------------------------------
    int columnCount(const QModelIndex &value) const;// return number of table columns
    //==============================================================================
    /**
    * @brief // data <BR>
    * @param index
    * @param role
    */
    // -----------------------------------------------------------------------------
    QVariant data(const QModelIndex &index, int role) const;// return number of table columns
    //==============================================================================
    /**
    * @brief // headerData <BR>
    * @param section
    * @param orientation
    * @param role
    */
    // -----------------------------------------------------------------------------
    QVariant headerData(int section, Qt::Orientation orientation, int role) const;// return number of table columns
    //==============================================================================
    /**
    * @brief // setData <BR>
    * @param index
    * @param value
    * @param role
    */
    // -----------------------------------------------------------------------------
    bool setData(const QModelIndex & index, const QVariant &value, int role);// return number of table columns
    //==============================================================================
    /**
    * @brief // flags <BR>
    * @param index
    */
    // -----------------------------------------------------------------------------
    Qt::ItemFlags flags(const QModelIndex &index) const;// return number of table columns
    //==============================================================================
    /**
    * @brief // removeRows <BR>
    * @param position
    * @param rows
    * @param index
    */
    // -----------------------------------------------------------------------------
    bool removeRows(int position, int rows, const QModelIndex &index);// return number of table columns
    //==============================================================================
    /**
    * @brief // insertRows <BR>
    * @param position
    * @param rows
    * @param index
    */
    // -----------------------------------------------------------------------------
    bool insertRows(int position, int rows, const QModelIndex &index);// return number of table columns
public slots:
        //==============================================================================
        /**
        * @brief Slot -Table data changed- direction map to table
        * @param oShapeItem [in] ShapeItem for update
        */
        // ----------------------------------------------------------------------------
        void sstSlotUpdateTab(sstQt01ShapeItem oShapeItem);
signals:
    //==============================================================================
    /**
    * @brief Signal -Table data changed- table to map
    */
    // ----------------------------------------------------------------------------
    void sstSgnlTabChanged(sstQt01ShapeItem oShapeItem);
    //==============================================================================
    /**
    * @brief Signal -Table data changed- map to table
    */
    // ----------------------------------------------------------------------------
    void sstSgnlTabUpdated(sstQt01ShapeItem oShapeItem);
    //==============================================================================

  private:
     sstDxf03DbCls *poDatabase;
     sstMisc01PrtFilCls *poPrt;
};
 
//==============================================================================
/**
* @brief 
*
* More Comment
*
* Used Type Definitions
* sstDxf03DbCls *poDatabase;;0;0;;;Database with all tables
* sstMisc01PrtFilCls *poPrt;;0;0;;;Protocol object
*
* Changed:   Re.
*
* @ingroup sstQtDxf01Lib
*
* @author Re.
*
* @date 
*/
// ----------------------------------------------------------------------------
class sstQtDxf01TabMdlLineCls : public sstQt01TabMdlCls
{
  Q_OBJECT
  public:
    //==============================================================================
    /**
    * @brief // sstQtDxf01TabMdlLineCls <BR>
    * @param *parent
    * @param *poTmpPrt
    * @param *poTmpDatabase
    */
    // -----------------------------------------------------------------------------
    sstQtDxf01TabMdlLineCls(QObject *parent, sstMisc01PrtFilCls *poTmpPrt, sstDxf03DbCls *poTmpDatabase);// // Constructor
    //==============================================================================
    /**
    * @brief // ~sstQtDxf01TabMdlLineCls <BR>
    */
    // -----------------------------------------------------------------------------
    ~sstQtDxf01TabMdlLineCls();// // Constructor
    //==============================================================================
    /**
    * @brief // rowCount <BR>
    * @param value
    */
    // -----------------------------------------------------------------------------
    int rowCount(const QModelIndex &value) const;// Count actual number of records
    //==============================================================================
    /**
    * @brief // columnCount <BR>
    * @param value
    */
    // -----------------------------------------------------------------------------
    int columnCount(const QModelIndex &value) const;// return number of table columns
    //==============================================================================
    /**
    * @brief // data <BR>
    * @param index
    * @param role
    */
    // -----------------------------------------------------------------------------
    QVariant data(const QModelIndex &index, int role) const;// return number of table columns
    //==============================================================================
    /**
    * @brief // headerData <BR>
    * @param section
    * @param orientation
    * @param role
    */
    // -----------------------------------------------------------------------------
    QVariant headerData(int section, Qt::Orientation orientation, int role) const;// return number of table columns
    //==============================================================================
    /**
    * @brief // setData <BR>
    * @param index
    * @param value
    * @param role
    */
    // -----------------------------------------------------------------------------
    bool setData(const QModelIndex & index, const QVariant & value, int role);// return number of table columns
    //==============================================================================
    /**
    * @brief // flags <BR>
    * @param index
    */
    // -----------------------------------------------------------------------------
    Qt::ItemFlags flags(const QModelIndex &index) const;// return number of table columns
    //==============================================================================
    /**
    * @brief // removeRows <BR>
    * @param position
    * @param rows
    * @param index
    */
    // -----------------------------------------------------------------------------
    bool removeRows(int position, int rows, const QModelIndex &index);// return number of table columns
    //==============================================================================
    /**
    * @brief // insertRows <BR>
    * @param position
    * @param rows
    * @param index
    */
    // -----------------------------------------------------------------------------
    bool insertRows(int position, int rows, const QModelIndex &index);// return number of table columns
public slots:
    //==============================================================================
    /**
    * @brief Slot -Table data changed- direction table to map
    */
    // ----------------------------------------------------------------------------
    void sstSlotChangeTabLine(sstQt01MapSignalCls oMapSignal);
        //==============================================================================
        /**
        * @brief Slot -Table data changed- direction map to table
        * @param oShapeItem [in] ShapeItem for update
        */
        // ----------------------------------------------------------------------------
        void sstSlotUpdateTabLine(sstQt01ShapeItem oShapeItem);
signals:
        //==============================================================================
        /**
        * @brief Signal -Table data changed- table to map
        */
        // ----------------------------------------------------------------------------
        void sstSgnlTabLineChanged(sstQt01MapSignalCls oMapSignal);
    //==============================================================================
    /**
    * @brief Signal -Table data changed- map to table
    */
    // ----------------------------------------------------------------------------
    void sstSgnlTabLineUpdated(sstQt01ShapeItem oShapeItem);
    //==============================================================================

  private:
     sstDxf03DbCls *poDatabase;
     sstMisc01PrtFilCls *poPrt;
};
 
#endif
//
// --------------------------------------------------------------- File End ----
